package com.leecode;

import java.util.ArrayList;
import java.util.List;

public class Leet6 {
	public static void main(String[] args) {
		new Leet6().convert("PAYPALISHIRING", 3);
	}

	public String convert(String s, int numRows) {
		if(numRows==1 || numRows==s.length()){
			return s;
		}

		List<StringBuilder> list=new ArrayList(numRows);
		for(int i=0;i<numRows;i++){
			list.add(i,new StringBuilder(""));
		}

		int rowIndex=0;
		int flag=1;
		for(int i=0;i<s.length();i++){
			list.get(rowIndex).append(s.charAt(i));
			if(rowIndex==numRows-1){
				flag=-1;
			}

			if(rowIndex==0){
				flag=1;
			}
			rowIndex=rowIndex+flag;
		}

		StringBuilder sb=new StringBuilder("");
		for(int i=0;i<list.size();i++){
			sb.append(list.get(i));
		}

		return sb.toString();
	}
}
